#10.1.1 读取整个文件
with open('D:\\GITEE\\study_code\\Python\\2022-11-12\\pi_digits.txt') as file_object:
    contents=file_object.read()
print(contents)
#这样输出后，末尾会多一个空行
#因为read（）到达文件末尾时会返回一个空字符串，而这个空字符串显示出来就是一个空行

#删除末尾的空行
print(contents.rstrip())


#10.1.3 逐行读取
filename='D:\\GITEE\\study_code\\Python\\2022-11-12\\pi_digits.txt'

with open(filename) as file_object:
    for line in file_object:
        print(line)
#此处输出结果中，文件每一行都会与文件下一行间隔一行
#这是因为在这个文件中，每行的末尾都有一个看不见的换行符，而函数调用print（）也会加上一个换行符
#所以每行末尾有两个换行符，一个来自文件，另一个来自函数调用print（）
#结果相当于（****** \n\n）

#删除多余空白
with open(filename) as file_object:
    for line in file_object:
        print(line.rstrip())


#10.1.4 创建一个包含文件各行内容的列表
with open(filename) as file_object:
    lines=file_object.readlines()

for line in lines:
    print(line.rstrip())


#10.1.5 使用文件的内容
pi_string=''
for line in lines:
    pi_string+=line.rstrip()

print(pi_string)
print(len(pi_string))
#此处为什么每段数字之间会用空格？
#此处空格是原字符串原来位于每行左边的空格

#删除空格
pi_string=''
for line in lines:
    pi_string+=line.strip()

print(pi_string)
print(len(pi_string))


#10.1.6 包含一百万位的大型文件
file_name='D:\\GITEE\\study_code\\Python\\2022-11-12\\pi_million_digits.txt'
with open(file_name) as file_object:
    lines=file_object.readlines()

pi_string=''
for line in lines:
    pi_string+=line.strip()

print(f"{pi_string[:52]}...")#从索引值0到索引值51，一共52个元素，其中3和.是前两位元素，所以此处的输出是一直到小数点后50位
print(len(pi_string))


#10.1.7圆周率值中包含你的生日吗
birthday=input("Enter your birthday , in the form mmddyy: ")
if birthday in pi_string:
    print("Your birthday appears in the first millon digits of pi!")
else:
    print("Your birthday does not appear in the first million digits of pi .")